package parsers;

import java.util.ArrayList;

import dtos.*;
import model.*;

public class ConsumoParser {
	private static ConsumoParser instance = null;
	protected ConsumoParser() {
	}
	public static ConsumoParser getInstance() {
		if(instance == null) {
    	  instance = new ConsumoParser();
		}
		return instance;
	}
	public Consumo fromDTOToModelEager(ConsumoDTO consumoDTO){
		Consumo consumo= new Consumo();
		consumo.setId(consumoDTO.getId());
		consumo.setCantidad(consumoDTO.getCantidad());
		consumo.setHorarioConsumo(consumoDTO.getHorarioConsumo());
		if(consumoDTO.getAlimento()!=null)
			consumo.setAlimento(AlimentoParser.getInstance().fromDTOToModelLazy(consumoDTO.getAlimento()));
		if(consumoDTO.getConsumoDiario()!=null)
			consumo.setConsumoDiario(ConsumoDiarioParser.getInstance().fromDTOToModelLazy(consumoDTO.getConsumoDiario()));
		return consumo;
		
	}
	
	public ConsumoDTO fromModelToDTOEager(Consumo consumo){
		ConsumoDTO consumoDTO= new ConsumoDTO();
		consumoDTO.setId(consumo.getId());
		consumoDTO.setCantidad(consumo.getCantidad());
		consumoDTO.setHorarioConsumo(consumo.getHorarioConsumo());
		if(consumo.getAlimento()!=null)
			consumoDTO.setAlimento(AlimentoParser.getInstance().fromModelToDTOLazy(consumo.getAlimento()));
		if(consumo.getConsumoDiario()!=null)
			consumoDTO.setConsumoDiario(ConsumoDiarioParser.getInstance().fromModelToDTOLazy(consumo.getConsumoDiario()));
		return consumoDTO;
		
	}
	public ArrayList<ConsumoDTO> fromModelToDTOArrayEager(
			ArrayList<Consumo> consumos) {
		ArrayList<ConsumoDTO> consumosDTO=new ArrayList<ConsumoDTO>();
		for (Consumo consumo : consumos) {
			consumosDTO.add(fromModelToDTOEager(consumo));
		}
		return consumosDTO;
	}
}
